﻿''' <summary>
''' Represents a directory entry.
''' </summary>
''' <remarks>
''' Objects of this class are used by the directory collector. They represent
''' a directory out of which file information will be read.
''' </remarks>
Public Class DirectoryEntry

    ''' <summary>
    ''' Friendly name.
    ''' </summary>
    ''' <remarks></remarks>
    Protected m_name As String

    ''' <summary>
    ''' Path to directory.
    ''' </summary>
    ''' <remarks></remarks>
    Protected m_path As String

    ''' <summary>
    ''' File mask.
    ''' </summary>
    ''' <remarks></remarks>
    Protected m_fileMask As String

    ''' <summary>
    ''' Recurse flag.
    ''' </summary>
    ''' <remarks></remarks>
    Protected m_recurse As Boolean

    ''' <summary>
    ''' Get/set the friendly name.
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Name() As String
        Get
            Return m_name
        End Get
        Set(ByVal value As String)
            m_name = value
        End Set
    End Property

    ''' <summary>
    ''' Get/set the directory path.
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Path() As String
        Get
            Return m_path
        End Get
        Set(ByVal value As String)
            m_path = value
        End Set
    End Property

    ''' <summary>
    ''' Get/set the file mask.
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property FileMask() As String
        Get
            Return m_fileMask
        End Get
        Set(ByVal value As String)
            m_fileMask = value
        End Set
    End Property

    ''' <summary>
    ''' Get/set the recurse flag.
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Recurse() As Boolean
        Get
            Return m_recurse
        End Get
        Set(ByVal value As Boolean)
            m_recurse = value
        End Set
    End Property

    ''' <summary>
    ''' Default class constructor.
    ''' </summary>
    ''' <param name="name">Friendly name.</param>
    ''' <param name="path">Directory path.</param>
    ''' <param name="fileMask">File mask.</param>
    ''' <param name="recurse">Recurse flag.</param>
    ''' <remarks></remarks>
    Public Sub New(ByVal name As String, ByVal path As String, ByVal fileMask As String, ByVal recurse As Boolean)
        m_name = name
        m_path = path
        m_fileMask = fileMask
        m_recurse = recurse
    End Sub

End Class
